package com.hck.domain.user.model.valobj;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 登录结果值对象
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LoginResult {
    
    /**
     * 是否登录成功
     */
    private boolean success;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 用户名
     */
    private String username;
    
    /**
     * 真实姓名
     */
    private String realName;
    
    /**
     * 登录令牌
     */
    private String token;
    
    /**
     * 错误信息
     */
    private String errorMessage;
    
    /**
     * 创建成功结果
     */
    public static LoginResult success(Long userId, String username, String realName, String token) {
        return new LoginResult(true, userId, username, realName, token, null);
    }
    
    /**
     * 创建失败结果
     */
    public static LoginResult failure(String errorMessage) {
        return new LoginResult(false, null, null, null, null, errorMessage);
    }
} 